//
// Created by Zhangwj on 2023/9/26.
//

#ifndef COMPILE_TASK2_FUNCFPARAMNODE_H
#define COMPILE_TASK2_FUNCFPARAMNODE_H


#include "SyntaxTreeNode.h"
#include "../Parser.h"

class FuncFParamNode : public SyntaxTreeNode {
public:
    //FuncFParam → BType Ident ['[' ']' { '[' ConstExp ']' }]
    std::unique_ptr<BTypeNode> BType;
    std::unique_ptr<IdentNode> Ident;
    bool isArray = false;
    std::vector<std::unique_ptr<ConstExpNode>> ConstExps;

    static std::unique_ptr<FuncFParamNode> FuncFParamParser(Parser &parser);
};


#endif //COMPILE_TASK2_FUNCFPARAMNODE_H
